home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / C / Applications / Teapot / Teapot.r < prev    next >
Encoding:
Text File  |  1995-11-18  |  6.7 KB  |  253 lines  |  [TEXT/KAHL]

  1. /* Title: Teapot.r
  2.     * Author: David Phillip Oster
  3.     Synopsis: Resources for the teapot graphics package
  4. */
  5. #include <Types.r>
  6. #include "TeapotRes.h"
  7.  
  8. #define kAllItems    0x7FFFFFFF
  9. #define kItem1        (1 << (1 - 1))
  10. #define kItem2        (1 << (2 - 1))
  11. #define kItem3        (1 << (3 - 1))
  12. #define kItem4        (1 << (4 - 1))
  13. #define kItem5        (1 << (5 - 1))
  14. #define kItem6        (1 << (6 - 1))
  15. #define kItem7        (1 << (7 - 1))
  16. #define kItem8        (1 << (8 - 1))
  17. #define kItem9        (1 << (9 - 1))
  18.  
  19.  
  20. /* 128k ROM and newer window template
  21.  */
  22. resource 'WIND' (rWin, purgeable) {
  23.     {44, 40, 335, 508},
  24.     documentProc,
  25.     invisible,
  26.     -1,
  27.     0x0,
  28.     "Teapot"
  29. };
  30.  
  31. resource 'MENU' (kAppleMenu, "kAppleMenu") {
  32.     kAppleMenu,
  33.     textMenuProc,
  34.     kAllItems - kItem2,
  35.     enabled,
  36.     apple,
  37.     {
  38.         "About Teapot…", noIcon, noKey, noMark, plain,
  39.         "-", noIcon, noKey, noMark, plain
  40. }};
  41.  
  42.  
  43. resource 'MENU' (kFileMenu, "kFileMenu") {
  44.     kFileMenu,
  45.     textMenuProc,
  46.     kAllItems - kItem2,
  47.     enabled,
  48.     "File",
  49.     {
  50.         "Draw Teapot Again", noIcon, "D", noMark, plain,
  51.         "-", noIcon, noKey, noMark, plain,
  52.         "Quit", noIcon, "Q", noMark, plain,
  53. }};
  54.  
  55. resource 'MENU' (kEditMenu, "kEditMenu") {
  56.     kEditMenu,
  57.     textMenuProc,
  58.     kAllItems - (kItem2 |(kItem1|kItem3|kItem4|kItem5|kItem6)),
  59.     enabled,
  60.     "Edit",
  61.     {    
  62.         "Undo", noIcon, "Z", noMark, plain,
  63.         "-", noIcon, noKey, noMark, plain,
  64.         "Cut", noIcon, "X", noMark, plain,
  65.         "Copy", noIcon, "C", noMark, plain,
  66.         "Paste", noIcon, "V", noMark, plain,
  67.         "Clear", noIcon, noKey, noMark, plain
  68.     }
  69. };
  70.  
  71. resource 'MENU' (kPitchMenu, "kPitchMenu") {
  72.     kPitchMenu,
  73.     textMenuProc,
  74.     allEnabled,
  75.     enabled,
  76.     "Pitch",
  77.     {
  78.     "\0x00-80° x", noIcon, noKey, noMark, plain,
  79.     "\0x00-60° x", noIcon, noKey, noMark, plain,
  80.     "\0x00-40° x", noIcon, noKey, noMark, plain,
  81.     "\0x00-20° x", noIcon, noKey, noMark, plain,
  82.     "0° x", noIcon, noKey, noMark, plain,
  83.     "20° x", noIcon, noKey, noMark, plain,
  84.     "30° x", noIcon, noKey, noMark, plain,
  85.     "40° x", noIcon, noKey, noMark, plain,
  86.     "45° x", noIcon, noKey, noMark, plain,
  87.     "50° x", noIcon, noKey, noMark, plain,
  88.     "60° x", noIcon, noKey, noMark, plain,
  89.     "70° x", noIcon, noKey, noMark, plain,
  90.     "80° x", noIcon, noKey, noMark, plain,
  91.     "90° x", noIcon, noKey, noMark, plain,
  92.     "110° x", noIcon, noKey, noMark, plain,
  93.     "135° x", noIcon, noKey, noMark, plain,
  94.     "155° x", noIcon, noKey, noMark, plain,
  95.     "170° x", noIcon, noKey, noMark, plain
  96. }};
  97.  
  98. resource 'MENU' (kYawMenu, "kYawMenu") {
  99.     kYawMenu,
  100.     textMenuProc,
  101.     allEnabled,
  102.     enabled,
  103.     "Yaw",
  104.     {
  105.     "\0x00-80° y", noIcon, noKey, noMark, plain,
  106.     "\0x00-60° y", noIcon, noKey, noMark, plain,
  107.     "\0x00-40° y", noIcon, noKey, noMark, plain,
  108.     "\0x00-20° y", noIcon, noKey, noMark, plain,
  109.     "0° y", noIcon, noKey, noMark, plain,
  110.     "20° y", noIcon, noKey, noMark, plain,
  111.     "30° y", noIcon, noKey, noMark, plain,
  112.     "40° y", noIcon, noKey, noMark, plain,
  113.     "45° y", noIcon, noKey, noMark, plain,
  114.     "50° y", noIcon, noKey, noMark, plain,
  115.     "60° y", noIcon, noKey, noMark, plain,
  116.     "70° y", noIcon, noKey, noMark, plain,
  117.     "80° y", noIcon, noKey, noMark, plain,
  118.     "90° y", noIcon, noKey, noMark, plain,
  119.     "110° y", noIcon, noKey, noMark, plain,
  120.     "135° y", noIcon, noKey, noMark, plain,
  121.     "155° y", noIcon, noKey, noMark, plain,
  122.     "170° y", noIcon, noKey, noMark, plain
  123. }};
  124.  
  125. resource 'MENU' (kRollMenu, "kRollMenu") {
  126.     kRollMenu,
  127.     textMenuProc,
  128.     allEnabled,
  129.     enabled,
  130.     "Roll",
  131.     {
  132.     "\0x00-80° z", noIcon, noKey, noMark, plain,
  133.     "\0x00-60° z", noIcon, noKey, noMark, plain,
  134.     "\0x00-40° z", noIcon, noKey, noMark, plain,
  135.     "\0x00-20° z", noIcon, noKey, noMark, plain,
  136.     "0° z", noIcon, noKey, noMark, plain,
  137.     "20° z", noIcon, noKey, noMark, plain,
  138.     "30° z", noIcon, noKey, noMark, plain,
  139.     "40° z", noIcon, noKey, noMark, plain,
  140.     "45° z", noIcon, noKey, noMark, plain,
  141.     "50° z", noIcon, noKey, noMark, plain,
  142.     "60° z", noIcon, noKey, noMark, plain,
  143.     "70° z", noIcon, noKey, noMark, plain,
  144.     "80° z", noIcon, noKey, noMark, plain,
  145.     "90° z", noIcon, noKey, noMark, plain,
  146.     "110° z", noIcon, noKey, noMark, plain,
  147.     "135° z", noIcon, noKey, noMark, plain,
  148.     "155° z", noIcon, noKey, noMark, plain,
  149.     "170° z", noIcon, noKey, noMark, plain
  150. }};
  151.  
  152. resource 'MENU' (kViewMenu, "kViewMenu") {
  153.     kViewMenu,
  154.     textMenuProc,
  155.     allEnabled,
  156.     enabled,
  157.     "View",
  158.     {
  159.     "0°", noIcon, noKey, noMark, plain,
  160.     "5°", noIcon, noKey, noMark, plain,
  161.     "10°", noIcon, noKey, noMark, plain,
  162.     "20° ", noIcon, noKey, noMark, plain,
  163.     "45° ", noIcon, noKey, noMark, plain,
  164.     "65° ", noIcon, noKey, noMark, plain,
  165.     "80°", noIcon, noKey, noMark, plain,
  166.     "90°", noIcon, noKey, noMark, plain,
  167.     "100°", noIcon, noKey, noMark, plain,
  168.     "110°", noIcon, noKey, noMark, plain,
  169.     "135°", noIcon, noKey, noMark, plain,
  170.     "155°", noIcon, noKey, noMark, plain,
  171.     "179°", noIcon, noKey, noMark, plain
  172. }};
  173.  
  174. resource 'MENU' (kSmoothMenu, "kSmoothMenu") {
  175.     kSmoothMenu,
  176.     textMenuProc,
  177.     allEnabled,
  178.     enabled,
  179.     "Smooth",
  180.     {
  181.     "1 pt. per patch", noIcon, noKey, noMark, plain,
  182.     "2 pts. per patch", noIcon, noKey, noMark, plain,
  183.     "3 pts. per patch", noIcon, noKey, noMark, plain,
  184.     "4 pts. per patch", noIcon, noKey, noMark, plain,
  185.     "5 pts. per patch", noIcon, noKey, noMark, plain,
  186.     "6 pts. per patch", noIcon, noKey, noMark, plain,
  187.     "7 pts. per patch", noIcon, noKey, noMark, plain,
  188.     "8 pts. per patch", noIcon, noKey, noMark, plain,
  189.     "9 pts. per patch", noIcon, noKey, noMark, plain,
  190.     "10 pts. per patch", noIcon, noKey, noMark, plain,
  191.     "11 pts. per patch", noIcon, noKey, noMark, plain,
  192.     "12 pts. per patch", noIcon, noKey, noMark, plain,
  193.     "13 pts. per patch", noIcon, noKey, noMark, plain,
  194.     "14 pts. per patch", noIcon, noKey, noMark, plain,
  195.     "15 pts. per patch", noIcon, noKey, noMark, plain
  196. }};
  197.  
  198. resource 'MENU' (kScaleMenu, "kScaleMenu") {
  199.     kScaleMenu,
  200.     textMenuProc,
  201.     allEnabled,
  202.     enabled,
  203.     "Scale",
  204.     {
  205.     "1", noIcon, noKey, noMark, plain,
  206.     "2", noIcon, noKey, noMark, plain,
  207.     "3", noIcon, noKey, noMark, plain,
  208.     "4", noIcon, noKey, noMark, plain,
  209.     "5", noIcon, noKey, noMark, plain,
  210.     "6", noIcon, noKey, noMark, plain,
  211.     "7", noIcon, noKey, noMark, plain,
  212.     "8", noIcon, noKey, noMark, plain,
  213.     "9", noIcon, noKey, noMark, plain,
  214.     "10", noIcon, noKey, noMark, plain
  215. }};
  216.  
  217. /* define the menu bar to be all the above menus.
  218.     program requires that menus be consecutive.
  219.  */
  220. resource 'MBAR' (kMBAR, purgeable) {{
  221.         kAppleMenu,
  222.         kFileMenu,
  223.         kEditMenu,
  224.         kPitchMenu,
  225.         kYawMenu,
  226.         kRollMenu,
  227.         kViewMenu,
  228.         kSmoothMenu,
  229.         kScaleMenu
  230. }};
  231.  
  232.  
  233. resource 'ALRT' (rAbout, "About", purgeable) {
  234.     {42, 13, 227, 321},
  235.     rAbout,
  236.     {    OK, visible, sound1,
  237.         OK, visible, sound1,
  238.         OK, visible, sound1,
  239.         OK, visible, sound1    
  240. }};
  241.   
  242. resource 'DITL' (rAbout, "About", purgeable) {{
  243.     {152, 24, 172, 84},    Button {    enabled,    "OK"    },
  244.     {14, 24, 80, 318},    StaticText {disabled,    "Teapot 3-D, Version 1.0\n"
  245.         "A 3-D graphics package for LightSpeed C Version 2\n"
  246.         "1986 by David Phillip Oster\n"},
  247.     {80, 24, 180, 318},    StaticText {disabled,    
  248.         "Ported to THINK C 7 by David Phillip Oster 1995\n"
  249.         "Mosaic Codes\nSuite 2036,\n2140 Shattuck Ave.\nBerkeley, Ca. 94704"}
  250. }};
  251.  
  252.  
  253.